package semana4.matrices.ejercicios;

import java.util.Random;

public class Matrices11 {

	private int[][] matriz;

	public Matrices11() {
		inicializarMatriz();
		rellenarMatriz();
		mostrarMatriz(this.matriz);
		System.out
				.println("Misma matriz pero con el numero total de digitos de cada elemento: ");
		calcularDigitosCadaElemento();
	}

	private void calcularDigitosCadaElemento() {
		for (int i = 0; i < this.matriz.length; i++) {
			for (int j = 0; j < this.matriz[0].length; j++) {
				System.out.print(numeroDeDigitos(matriz[i][j]) + "\t");
			}
			System.out.println();
		}
	}

	private int numeroDeDigitos(int n) {
		int sol = 0;
		while (n > 0) {
			n = n / 10;
			sol++;
		}
		return sol;
	}

	private void mostrarMatriz(int[][] m) {
		for (int i = 0; i < m.length; i++) {
			for (int j = 0; j < m[0].length; j++) {
				System.out.print(m[i][j] + "\t");
			}
			System.out.println();
		}
		System.out.println();
		System.out.println("--------------------------");

	}

	private void rellenarMatriz() {
		for (int i = 0; i < this.matriz.length; i++) {
			for (int j = 0; j < this.matriz[0].length; j++) {
				matriz[i][j] = (new Random().nextInt(10000) + 1);
			}
		}

	}

	private void inicializarMatriz() {

		matriz = new int[5][5];

	}

	public static void main(String[] args) {
		new Matrices11();
	}

}
